﻿using AspNetCoreTodo.Models;
using AspNetCoreTodo.Services;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;

namespace AspNetCoreTodo.Controllers
{
    /// <summary>
    /// Todo controller,asp直接调用Todo
    /// </summary>
    public class TodoController : Controller
    {

        readonly ITodoItemService _todoItemService;
        public TodoController(ITodoItemService todoItemService)
        {
            _todoItemService = todoItemService;
        }

        //可以返回视图、JSON数据，或者 200 OK和404 Not Found 之类的状态码
        public async Task<IActionResult> Index()
        {
            // 从数据库获取 to-do 条目
            var todoItems = await _todoItemService.GetIncompleteItemsAsync();

            // 把条目置于 model 中
            var model = new TodoViewModel
            {
                Items = todoItems
        };

            // 使用 model 渲染视图
            return View(model);
        }
    }
}
